Skip to content

ci: add FOSSA license scan workflow#1596

Merged
hkad98 merged 1 commit into
gooddata:masterfrom
hkad98:jkd/fossa
May 11, 2026
Merged

ci: add FOSSA license scan workflow#1596
hkad98 merged 1 commit into
gooddata:masterfrom
hkad98:jkd/fossa

Conversation

@hkad98
Copy link
Copy Markdown
Contributor

@hkad98 hkad98 commented May 11, 2026

Summary

Adds a self-contained workflow_dispatch GitHub Actions workflow that runs FOSSA analyze + test against the repo, replacing the manual Jenkins-based scan in .fossa/. Token comes from the FOSSA_API_KEY org secret; both third-party actions (fossas/fossa-action@v1.9.0, actions/checkout@v6.0.2) are pinned by full commit SHA per public-repo best practice. Runs on ubuntu-latest with read-only permissions — no internal-runner or Vault dependency.

.fossa.yml is scoped via paths.only to the seven published gooddata-* workspace packages plus the generated gooddata-api-client. Phase 0 local verification with fossa-cli 3.17.5 confirmed all declared deps are picked up across these targets (FOSSA pdm strategy reads each pyproject.toml; setuptools reads gooddata-api-client/setup.py). tests-support and scripts/ are intentionally excluded as internal helpers.

Prerequisite (out-of-PR, infra): gooddata-python-sdk must be added to the repos allowlist of the org-level FOSSA_API_KEY secret in gooddata/terraform-github. Until that lands, the FOSSA step on a manual dispatch will fail at authentication — that's expected.

Scope note: the whitelist limits the scan to declared deps only — no transitive resolution. Broadening to a root uv.lock-based scan would surface the full transitive graph but also pull in dev/test/lint tooling; can be tightened or broadened in a follow-up based on what the FOSSA dashboard view looks like after the first scan.

The legacy .fossa/ Jenkins flow and gdc_fossa.yaml are left untouched in this PR; their cleanup is a separate concern once the GHA-based scan is verified green.

Test plan

JIRA: TRIVIAL
risk: nonprod

@hkad98 hkad98 requested review from jaceksan, lupko and pcerny as code owners May 11, 2026 12:32
Adds a self-contained workflow_dispatch GitHub Actions workflow that runs
FOSSA analyze + test against the repo, replacing the manual Jenkins-based
scan. Token comes from the FOSSA_API_KEY org secret; the repo still needs
to be added to that secret's repos allowlist in terraform-github (separate
PR by infra) before the first dispatch will authenticate.

The job runs on the infra1-runners-arc / runners-small ARC group used by
the rest of the repo's workflows (pre-merge, staging-tests, etc.) — the
runners are accessible from this public repo even though the reusable
fossa workflow at gooddata/github-actions isn't, hence this self-contained
copy. Permissions are read-only. Actions are pinned by version tag
(actions/checkout@v6, fossas/fossa-action@v1.9.0) to match the repo
convention.

The .fossa.yml is scoped via paths.only to the seven published gooddata-*
workspace packages plus the generated gooddata-api-client. Phase 0 local
verification with fossa-cli 3.17.5 confirmed all declared deps across
these targets are picked up (pdm strategy for each pyproject.toml,
setuptools for gooddata-api-client). tests-support and scripts/ are
intentionally excluded as internal helpers.

The branch input defaults to master so dispatches without an explicit
override attach the scan to the master branch in the FOSSA dashboard.

JIRA: TRIVIAL
risk: nonprod
@hkad98 hkad98 merged commit 1c4dfe4 into gooddata:master May 11, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants